#ifndef ASIO_SERVER_SINGLETON2_H
#define ASIO_SERVER_SINGLETON2_H
#include <iostream>
using namespace std;

template<typename T>
class Singleton {
public:
    static T &GetInstance() {
        static T instance;
        return instance;
    }

    Singleton(const Singleton &) = delete;
    Singleton& operator= (const Singleton&) = delete;

protected:
    Singleton() = default;
    ~Singleton() = default;
};


#endif //ASIO_SERVER_SINGLETON2_H
